package com.ygqh.baby.mapper;

import com.ygqh.baby.ao.QueryInfo;
import com.ygqh.baby.po.ScheduleJob;
import com.ygqh.baby.po.ScheduleJobExample;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface ScheduleJobMapper {
    int countByExample(ScheduleJobExample example);

    int deleteByExample(ScheduleJobExample example);

    int deleteByPrimaryKey(Long id);

    int insert(ScheduleJob record);

    int insertSelective(ScheduleJob record);

    List<ScheduleJob> selectByExample(ScheduleJobExample example);

    ScheduleJob selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") ScheduleJob record, @Param("example") ScheduleJobExample example);

    int updateByExample(@Param("record") ScheduleJob record, @Param("example") ScheduleJobExample example);

    int updateByPrimaryKeySelective(ScheduleJob record);

    int updateByPrimaryKey(ScheduleJob record);

    int countSuper(@Param("q") String q, @Param("groupName") String groupName, @Param("startDate") Date startDate, @Param("endDate") Date endDate);

    List<ScheduleJob> selectSuper(@Param("queryInfo") QueryInfo queryInfo, @Param("q") String q, @Param("groupName") String groupName,
                                  @Param("startDate") Date startDate, @Param("endDate") Date endDate);

    List<ScheduleJob> selectJobs(@Param("jobStatus") String jobStatus, @Param("jobType") String jobType, @Param("ipAddr") String ipAddr, @Param("hasNum") Boolean hasNum);

    List<ScheduleJob> selectJobList(@Param("groupName") String groupName, @Param("hasNum") Boolean hasNum);
}
